package com.xiaoxx.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoxx.model.dto.sys.SysMenuDto;
import com.xiaoxx.model.entity.sys.SysMenu;
import com.xiaoxx.model.entity.sys.SysUser;
import com.xiaoxx.model.vo.sys.SysMenuVo;

import java.util.List;

/**
 * <p>
 * base--sys--菜单管理 服务类
 * </p>
 *
 * @author HX
 * @since 2023-07-27
 */
public interface SysMenuService extends IService<SysMenu> {

    /**
     * 新增菜单
     * @param sysMenuDto
     * @return
     */
    Boolean addSysMenu(SysMenuDto sysMenuDto);

    /**
     * 获取菜单
     * @param sysUser
     * @return
     */
    List<SysMenuVo> findTree(SysUser sysUser);


    Boolean updMenu(SysMenuDto dto);


    SysMenuVo findMenuById(String id);


    Boolean delMenuById(String id);


    List<SysMenu> findByRoleId(String roleId);


    List<SysMenuVo> traverseMenu(List<SysMenuVo> listVo);


    Boolean updDisable(String id, Integer disable);
}
